| Visual Basic (Declaration) | |
|---|---|
<DescriptionAttribute("Receive data into your buffer.")> Public Overloads Function Receive( _ ByVal buffer() As Byte _ ) As Segment | |
| Visual Basic (Usage) | Copy Code |
|---|---|
Dim instance As Tcp Dim buffer() As Byte Dim value As Segment value = instance.Receive(buffer) | |
| C# | |
|---|---|
[DescriptionAttribute("Receive data into your buffer.")] public Segment Receive( byte[] buffer ) | |
| Managed Extensions for C++ | |
|---|---|
[DescriptionAttribute("Receive data into your buffer.")] public: Segment* Receive( byte[]* buffer ) | |
| C++/CLI | |
|---|---|
[DescriptionAttribute("Receive data into your buffer.")] public: Segment^ Receive( array<byte>^ buffer ) | |
Parameters
- buffer
- Destination memory location to store received data.
Return Value
A Segment object encapsulating the data received.| Exception | Description |
|---|---|
| System.IO.IOException | The stream is not Readable. |
| System.ArgumentNullException | buffer is null. |
| System.ArgumentOutOfRangeException | offset or count is less than 0. |
| System.ArgumentException | offset + count is greater than the length of buffer. |
| System.Net.Sockets.SocketException | The socket is not connected. |
The following example demonstrates sending bytes to the server.
| Visual Basic | Copy Code |
|---|---|
Private Sub Test() ' Connect to an echo port Tcp1.Connect("atropos", 7) Dim sendbuffer() As Byte = System.Text.Encoding.Default.GetBytes("abcdefg") ' Send some bytes. Tcp1.Send(sendbuffer) Dim recvbuffer(sendbuffer.Length) As Byte ' Server will echo the bytes back. Receive the bytes. Tcp1.Receive(recvbuffer) ' Close the connection. Tcp1.Close() End Sub | |
| C# | Copy Code |
|---|---|
private void Test() { // Connect to the echo port tcp1.Connect("atropos", 7); byte[] sendbuffer = System.Text.Encoding.Default.GetBytes("abcdefg"); // Send some bytes. tcp1.Send(sendbuffer); byte[] recvbuffer = new byte[sendbuffer.Length]; // Server will echo the bytes back. Receive the bytes. tcp1.Receive(recvbuffer); // Close the connection. tcp1.Close(); } | |
After connecting, data can be received using the Tcp.Recieve method. All Tcp.Receive methods return a Segment object, encapsulating the data received. In order to access the data, simply access the properties of the Segment object returned such as Segment.Buffer (to access the data in a byte array) or Segment.ToString (to access the data as a string).
If the amount of data received from the server exceeds Tcp.ReceiveBufferSize, the Tcp.Receive method will have to be called multiple times until the socket closes.
This method is functionally equivalent to Tcp.Stream.Write(byte[]).
Target Platforms: Microsoft .NET Framework 2.0